package com.wlyuan.open.scanner.repository;

import com.wlyuan.open.scanner.dao.entity.OrderIndexDO;
import com.wlyuan.open.scanner.domain.order.Order;

import java.util.List;

/**
 * @author lijing
 * @description
 */
public interface OrderRepository {

    /**
     * 同步订单
     */
    void sync();

    /**
     * 加载订单
     *
     * @return
     */
    List<Order> list();

    /**
     * 根据id查询
     *
     * @param orderId
     * @return
     */
    Order getById(Long orderId);

    /**
     * 批量获取订单
     *
     * @param orderId
     * @return
     */
    Order getOrderByOrderId(Long orderId);

    /**
     * 获取订单类型
     *
     * @param orderId
     * @return
     */
    Long getOrderSrcClass(Long orderId);

    /**
     * 根据租户获取
     *
     * @param tenantId
     */
    void getByTenantId(Long tenantId);

    void process(OrderIndexDO data);

    /**
     * 根据时间查询订单id
     *
     * @param startTime
     * @param endTime
     * @return
     */
    List<Long> getOrderIdByTime(String startTime, String endTime);

    List<Long> getOrderIdByTenantIdTime(Long tenantId, String startTime, String endTime);


}
